package com.xuecheng.api.learning;

import com.xuecheng.api.learning.model.dto.CourseRecordDTO;
import com.xuecheng.api.learning.model.vo.ResourceUrlModel;
import com.xuecheng.common.domain.page.PageRequestParams;
import com.xuecheng.common.domain.page.PageVO;
import com.xuecheng.common.domain.response.RestResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;

/**
 * <p></p>
 *
 * @Description:
 */
@Api(value = "学习记录api文档",tags = "学习记录Api接口文档信息")
public interface CourseRecordApi {

    @ApiOperation("根据课程发布id获得学习记录")
    CourseRecordDTO getRecordByCoursePubId(Long coursePubId);
    @ApiOperation("个人中心-我的课程学习记录")
    public PageVO queryCourseRecordList(PageRequestParams params);


    @ApiOperation("创建学员学习记录-远程调用")
    RestResponse<CourseRecordDTO> createCourseRecord4S(String username, Long coursePubId);


    @ApiOperation(value = "获取媒资播放信息")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "coursePubId", value = "课程发布Id", dataType = "long", required = true, paramType = "query", example = "1"),
            @ApiImplicitParam(name = "teachplanId", value = "课程大纲Id", dataType = "long", required = true, paramType = "query", example = "1"),
            @ApiImplicitParam(name = "mediaId", value = "媒资Id", dataType = "long", required = true, paramType = "query", example = "1")
    })
    ResourceUrlModel getResourceUrl(Long coursePubId, Long teachplanId, Long mediaId);





}
